From d148f26658bd6af8066c8269585c02959943c69b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 15 Jul 2018 15:12:14 -0400 Subject: [PATCH] Drop gdk_surface_withdraw 'withdrawn' is an X11-centric concept, and the function can just as well be replaced by gdk_surface_hide. --- docs/reference/gdk/gdk4-sections.txt | 1 - gdk/gdksurface.c | 32 ------------------------- gdk/gdksurface.h | 2 -- gdk/x11/gdksurface-x11.c | 36 ++++++++++++++-------------- gtk/gtkwindow.c | 2 +- 5 files changed, 19 insertions(+), 54 deletions(-) diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt index 482b7fdbd8..a3e6543171 100644 --- a/docs/reference/gdk/gdk4-sections.txt +++ b/docs/reference/gdk/gdk4-sections.txt @@ -193,7 +193,6 @@ gdk_surface_is_visible gdk_surface_is_viewable gdk_surface_is_input_only gdk_surface_get_state -gdk_surface_withdraw gdk_surface_iconify gdk_surface_deiconify gdk_surface_stick diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c index db80d00eb6..00c5ac4c09 100644 --- a/gdk/gdksurface.c +++ b/gdk/gdksurface.c @@ -2607,38 +2607,6 @@ G_GNUC_END_IGNORE_DEPRECATIONS gdk_surface_invalidate_in_parent (surface); } -/** - * gdk_surface_withdraw: - * @surface: a toplevel #GdkSurface - * - * Withdraws a surface (unmaps it and asks the surface manager to forget about it). - * This function is not really useful as gdk_surface_hide() automatically - * withdraws toplevel surfaces before hiding them. - **/ -void -gdk_surface_withdraw (GdkSurface *surface) -{ - GdkSurfaceImplClass *impl_class; - GdkGLContext *current_context; - - g_return_if_fail (GDK_IS_SURFACE (surface)); - - if (surface->destroyed) - return; - - if (gdk_surface_has_impl (surface)) - { - impl_class = GDK_SURFACE_IMPL_GET_CLASS (surface->impl); - impl_class->withdraw (surface); - - current_context = gdk_gl_context_get_current (); - if (current_context != NULL && gdk_gl_context_get_surface (current_context) == surface) - gdk_gl_context_clear_current (); - - recompute_visible_regions (surface, FALSE); - } -} - static void gdk_surface_move_resize_toplevel (GdkSurface *surface, gboolean with_move, diff --git a/gdk/gdksurface.h b/gdk/gdksurface.h index a1b800b8f4..b9d88690b5 100644 --- a/gdk/gdksurface.h +++ b/gdk/gdksurface.h @@ -460,8 +460,6 @@ void gdk_surface_show (GdkSurface *surface); GDK_AVAILABLE_IN_ALL void gdk_surface_hide (GdkSurface *surface); GDK_AVAILABLE_IN_ALL -void gdk_surface_withdraw (GdkSurface *surface); -GDK_AVAILABLE_IN_ALL void gdk_surface_show_unraised (GdkSurface *surface); GDK_AVAILABLE_IN_ALL void gdk_surface_move (GdkSurface *surface, diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c index f04f74d486..29b6dae9f7 100644 --- a/gdk/x11/gdksurface-x11.c +++ b/gdk/x11/gdksurface-x11.c @@ -1284,6 +1284,23 @@ gdk_surface_x11_show (GdkSurface *surface, gboolean already_mapped) gdk_x11_surface_apply_fullscreen_mode (surface); } +static void +gdk_surface_x11_withdraw (GdkSurface *surface) +{ + if (!surface->destroyed) + { + if (GDK_SURFACE_IS_MAPPED (surface)) + gdk_synthesize_surface_state (surface, + 0, + GDK_SURFACE_STATE_WITHDRAWN); + + g_assert (!GDK_SURFACE_IS_MAPPED (surface)); + + XWithdrawWindow (GDK_SURFACE_XDISPLAY (surface), + GDK_SURFACE_XID (surface), 0); + } +} + static void gdk_surface_x11_hide (GdkSurface *surface) { @@ -1299,7 +1316,7 @@ gdk_surface_x11_hide (GdkSurface *surface) { case GDK_SURFACE_TOPLEVEL: case GDK_SURFACE_TEMP: /* ? */ - gdk_surface_withdraw (surface); + gdk_surface_x11_withdraw (surface); return; case GDK_SURFACE_CHILD: @@ -1313,23 +1330,6 @@ gdk_surface_x11_hide (GdkSurface *surface) GDK_SURFACE_XID (surface)); } -static void -gdk_surface_x11_withdraw (GdkSurface *surface) -{ - if (!surface->destroyed) - { - if (GDK_SURFACE_IS_MAPPED (surface)) - gdk_synthesize_surface_state (surface, - 0, - GDK_SURFACE_STATE_WITHDRAWN); - - g_assert (!GDK_SURFACE_IS_MAPPED (surface)); - - XWithdrawWindow (GDK_SURFACE_XDISPLAY (surface), - GDK_SURFACE_XID (surface), 0); - } -} - static inline void surface_x11_move (GdkSurface *surface, gint x, diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 03210d53de..295fbacee1 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -6293,7 +6293,7 @@ gtk_window_unmap (GtkWidget *widget) surface = _gtk_widget_get_surface (widget); GTK_WIDGET_CLASS (gtk_window_parent_class)->unmap (widget); - gdk_surface_withdraw (surface); + gdk_surface_hide (surface); while (priv->configure_request_count > 0) { -- 2.30.2